<%--
  Created by IntelliJ IDEA.
  User: 73448
  Date: 2018/5/16
  Time: 11:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Request</title>
</head>
<body>
request 对象 封装了Http请求的所有信息,不分get还是
post,用法和 servlet中的request 没有什么区别
<%
    String contextPath = request.getContextPath();
    String serverPath = request.getServletPath();

    out.println("<br>");
    out.println("context:" + contextPath);
    out.println("<br>");
    out.println("servlet:" + serverPath);
%>

<%--
java web中的路径:
一条完整的 网站由以下几部分组成
协议://ip地址:端口号/项目名称/各个servlet或jsp的配置路径

例如:
http://localhost:8080/Code0516/myup

其中 我们的项目名称可以为空,idea默认帮我们启动项目,
项目名称就是空的,但是实际部署项目时,项目名称往往不为空
因为 一个服务器 上就会跑1个Tomcat,当我们有多个项目需要运行时
就需要使用项目名称来区分这个tomcat中的各个项目

在我们平时使用路径的时候有2种写法
1. 绝对路径
以 / 开头  真正访问的时候 会拼接到端口号后面
2. 相对路径
以非 / 开头,拼接的是是相对于当前页面所处的路径

例如: 项目名称为ABC,要访问的页面地址是:
http://localhost:8080/ABC/a/b/c/target.jsp
当前页面地址是:
http://localhost:8080/ABC/a/e/f/now.jsp

使用绝对路路径
/ABC/a/b/c/target.jsp
使用相对路径
../../b/c/target.jsp

可以看出 使用相对路径,不需要关系项目名称,但是对
两个文件的位置要求比较严格,
而绝对路径,则必须在前面加上项目名称,但是
项目名称之后有可能更改

解决办法 统一使用绝对路径,项目名称 使用
request对象的 contextPath方法来动态获取
--%>

</body>
</html>
